<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>NFC / NDEF Library for Proximity APIs: NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="NdefLibraryLogo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">NFC / NDEF Library for Proximity APIs
   &#160;<span id="projectnumber">4.1.0</span>
   </div>
   <div id="projectbrief">Easily parse and create NDEF records with the Windows Proximity APIs / Near Field Communication NFC.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_ndef_library.html">NdefLibrary</a></li><li class="navelem"><a class="el" href="namespace_ndef_library_1_1_ndef.html">Ndef</a></li><li class="navelem"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record.html">NdefBtSecureSimplePairingRecord</a></li><li class="navelem"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html">BtServiceClasses</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Utility class to handle the Bluetooth Service Classes defined in the OOB data of the Secure Simple Pairing Record.  
 <a href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a1c1a2d97c2cfd78a91346551f76662e9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a> : ushort { <br />
&#160;&#160;<b>ServiceDiscoveryServerServiceClassID</b> = 0x1000, 
<b>BrowseGroupDescriptorServiceClassID</b> = 0x1001, 
<b>SerialPort</b> = 0x1101, 
<b>LANAccessUsingPPP</b> = 0x1102, 
<br />
&#160;&#160;<b>DialupNetworking</b> = 0x1103, 
<b>IrMCSync</b> = 0x1104, 
<b>OBEXObjectPush</b> = 0x1105, 
<b>OBEXFileTransfer</b> = 0x1106, 
<br />
&#160;&#160;<b>IrMCSyncCommand</b> = 0x1107, 
<b>Headset</b> = 0x1108, 
<b>CordlessTelephony</b> = 0x1109, 
<b>AudioSource</b> = 0x110A, 
<br />
&#160;&#160;<b>AudioSink</b> = 0x110B, 
<b>AV_RemoteControlTarget</b> = 0x110C, 
<b>AdvancedAudioDistribution</b> = 0x110D, 
<b>AV_RemoteControl</b> = 0x110E, 
<br />
&#160;&#160;<b>AV_RemoteControlController</b> = 0x110F, 
<b>Intercom</b> = 0x1110, 
<b>Fax</b> = 0x1111, 
<b>Headset_AudioGateway</b> = 0x1112, 
<br />
&#160;&#160;<b>WAP</b> = 0x1113, 
<b>WAP_CLIENT</b> = 0x1114, 
<b>PANU</b> = 0x1115, 
<b>NAP</b> = 0x1116, 
<br />
&#160;&#160;<b>GN</b> = 0x1117, 
<b>DirectPrinting</b> = 0x1118, 
<b>ReferencePrinting</b> = 0x1119, 
<b>BasicImagingProfile</b> = 0x111A, 
<br />
&#160;&#160;<b>ImagingResponder</b> = 0x111B, 
<b>ImagingAutomaticArchive</b> = 0x111C, 
<b>ImagingReferencedObjects</b> = 0x111D, 
<b>Handsfree</b> = 0x111E, 
<br />
&#160;&#160;<b>HandsfreeAudioGateway</b> = 0x111F, 
<b>DirectPrintingReferenceObjectsService</b> = 0x1120, 
<b>ReflectedUI</b> = 0x1121, 
<b>BasicPrinting</b> = 0x1122, 
<br />
&#160;&#160;<b>PrintingStatus</b> = 0x1123, 
<b>HumanInterfaceDeviceService</b> = 0x1124, 
<b>HardcopyCableReplacement</b> = 0x1125, 
<b>HCR_Print</b> = 0x1126, 
<br />
&#160;&#160;<b>HCR_Scan</b> = 0x1127, 
<b>Common_ISDN_Access</b> = 0x1128, 
<b>SIM_Access</b> = 0x112D, 
<b>PhonebookAccess_PCE</b> = 0x112E, 
<br />
&#160;&#160;<b>PhonebookAccess_PSE</b> = 0x112F, 
<b>PhonebookAccess</b> = 0x1130, 
<b>HeadsetHS</b> = 0x1131, 
<b>MessageAccessServer</b> = 0x1132, 
<br />
&#160;&#160;<b>MessageNotificationServer</b> = 0x1133, 
<b>MessageAccessProfile</b> = 0x1134, 
<b>GNSS</b> = 0x1135, 
<b>GNSS_Server</b> = 0x1136, 
<br />
&#160;&#160;<b>ThreeD_Display</b> = 0x1137, 
<b>ThreeD_Glasses</b> = 0x1138, 
<b>ThreeD_Synchronization</b> = 0x1139, 
<b>MPS_Profile_UUID</b> = 0x113A, 
<br />
&#160;&#160;<b>MPS_SC_UUID</b> = 0x113B, 
<b>PnPInformation</b> = 0x1200, 
<b>GenericNetworking</b> = 0x1201, 
<b>GenericFileTransfer</b> = 0x1202, 
<br />
&#160;&#160;<b>GenericAudio</b> = 0x1203, 
<b>GenericTelephony</b> = 0x1204, 
<b>UPNP_Service</b> = 0x1205, 
<b>UPNP_IP_Service</b> = 0x1206, 
<br />
&#160;&#160;<b>ESDP_UPNP_IP_PAN</b> = 0x1300, 
<b>ESDP_UPNP_IP_LAP</b> = 0x1301, 
<b>ESDP_UPNP_L2CAP</b> = 0x1302, 
<b>VideoSource</b> = 0x1303, 
<br />
&#160;&#160;<b>VideoSink</b> = 0x1304, 
<b>VideoDistribution</b> = 0x1305, 
<b>HDP</b> = 0x1400, 
<b>HDPSource</b> = 0x1401, 
<br />
&#160;&#160;<b>HDPSink</b> = 0x1402
<br />
 }<tr class="memdesc:a1c1a2d97c2cfd78a91346551f76662e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains a list of currently valid Bluetooth service classes according to the specification.  <a href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a1c1a2d97c2cfd78a91346551f76662e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3814afcca395852a0873955732e6e074"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a3814afcca395852a0873955732e6e074">BitsPerServiceClass</a> ()</td></tr>
<tr class="memdesc:a3814afcca395852a0873955732e6e074"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many bit are used for each service class according to the current DataType setting in this instance.  <a href="#a3814afcca395852a0873955732e6e074">More...</a><br /></td></tr>
<tr class="separator:a3814afcca395852a0873955732e6e074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fa8b67d794615611e2f6da409ac9a51"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a6fa8b67d794615611e2f6da409ac9a51">BytesPerServiceClass</a> ()</td></tr>
<tr class="memdesc:a6fa8b67d794615611e2f6da409ac9a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">How many bytes are used for each service class according to the current DataType setting in this instance.  <a href="#a6fa8b67d794615611e2f6da409ac9a51">More...</a><br /></td></tr>
<tr class="separator:a6fa8b67d794615611e2f6da409ac9a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a724ebd192f9f66cae75d0c9265ea6680"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a724ebd192f9f66cae75d0c9265ea6680">AddServiceClassType</a> (<a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a> newSc)</td></tr>
<tr class="memdesc:a724ebd192f9f66cae75d0c9265ea6680"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a new service class to the list, specified as an enum value instead of a raw byte array. The method will take care of using the correct bit length to store the UUID, according to the setting in use for this instance.  <a href="#a724ebd192f9f66cae75d0c9265ea6680">More...</a><br /></td></tr>
<tr class="separator:a724ebd192f9f66cae75d0c9265ea6680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b2cbef2100481fb288c0a3f186d57e8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a5b2cbef2100481fb288c0a3f186d57e8">BtServiceClasses</a> (byte scType, byte[] scData)</td></tr>
<tr class="memdesc:a5b2cbef2100481fb288c0a3f186d57e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new instance of the Bluetooth Service Class and parse the supplied service class type (defines the UUID lengths) and data (contains the actual service class UUIDs).  <a href="#a5b2cbef2100481fb288c0a3f186d57e8">More...</a><br /></td></tr>
<tr class="separator:a5b2cbef2100481fb288c0a3f186d57e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae067c4f9715d8383f64e2feb6cd41bf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#aae067c4f9715d8383f64e2feb6cd41bf">BtServiceClasses</a> ()</td></tr>
<tr class="memdesc:aae067c4f9715d8383f64e2feb6cd41bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an empty instance of the Bluetooth Service Class helper.  <a href="#aae067c4f9715d8383f64e2feb6cd41bf">More...</a><br /></td></tr>
<tr class="separator:aae067c4f9715d8383f64e2feb6cd41bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6268639f959642e34dcefc322950741"><td class="memItemLeft" align="right" valign="top">byte []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#ac6268639f959642e34dcefc322950741">ToByteArray</a> ()</td></tr>
<tr class="memdesc:ac6268639f959642e34dcefc322950741"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the properties currently stored in this class instance to a byte array, which can then be used to embed this information into OOB data payload of the parent Bluetooth Secure Simple Pairing record.  <a href="#ac6268639f959642e34dcefc322950741">More...</a><br /></td></tr>
<tr class="separator:ac6268639f959642e34dcefc322950741"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a89b2092060c50491ac537e453f2017b8"><td class="memItemLeft" align="right" valign="top">static string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a89b2092060c50491ac537e453f2017b8">UuidAs128BitString</a> (<a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a> serviceClassType)</td></tr>
<tr class="memdesc:a89b2092060c50491ac537e453f2017b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format the specified service class type enum value as a string that represents the 128 bit format conversion.  <a href="#a89b2092060c50491ac537e453f2017b8">More...</a><br /></td></tr>
<tr class="separator:a89b2092060c50491ac537e453f2017b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec6e3d988ce4bd83018da4673e22197"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a6ec6e3d988ce4bd83018da4673e22197">UuidFrom128String</a> (string uuid)</td></tr>
<tr class="memdesc:a6ec6e3d988ce4bd83018da4673e22197"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the specified service class string to a service class type enum value.  <a href="#a6ec6e3d988ce4bd83018da4673e22197">More...</a><br /></td></tr>
<tr class="separator:a6ec6e3d988ce4bd83018da4673e22197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a846057af5294fbdc8f066c0e3b4ba29f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a846057af5294fbdc8f066c0e3b4ba29f">ConvertServiceClassToType</a> (byte[] scBytes)</td></tr>
<tr class="memdesc:a846057af5294fbdc8f066c0e3b4ba29f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the specified service class byte array to the enum type for more convenient use in your app.  <a href="#a846057af5294fbdc8f066c0e3b4ba29f">More...</a><br /></td></tr>
<tr class="separator:a846057af5294fbdc8f066c0e3b4ba29f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a9a12f13807a5bca52b56a88e55609842"><td class="memItemLeft" align="right" valign="top">List&lt; byte[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a9a12f13807a5bca52b56a88e55609842">ServiceClasses</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a9a12f13807a5bca52b56a88e55609842"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains the list of raw byte values specifying the individual service classes assigned. The number of bits for each contained byte array corresponds to the service list type.  <a href="#a9a12f13807a5bca52b56a88e55609842">More...</a><br /></td></tr>
<tr class="separator:a9a12f13807a5bca52b56a88e55609842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94a7ecbd345550b88db0562d504717e6"><td class="memItemLeft" align="right" valign="top">List&lt; <a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a94a7ecbd345550b88db0562d504717e6">ServiceClassesAsTypes</a><code> [get]</code></td></tr>
<tr class="memdesc:a94a7ecbd345550b88db0562d504717e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the currently set service class values as a list of enum values for easier use within your own application.  <a href="#a94a7ecbd345550b88db0562d504717e6">More...</a><br /></td></tr>
<tr class="separator:a94a7ecbd345550b88db0562d504717e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68ca21ddfb0942a4e45c72db2e5c3185"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record.html#a7afbb8c5f585c46e5e54560c86b63aca">OobDataTypes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a68ca21ddfb0942a4e45c72db2e5c3185">DataType</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a68ca21ddfb0942a4e45c72db2e5c3185"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the data structure of the service classes (complete / incomplete, 16, 32 or 128 bit per service class definition)  <a href="#a68ca21ddfb0942a4e45c72db2e5c3185">More...</a><br /></td></tr>
<tr class="separator:a68ca21ddfb0942a4e45c72db2e5c3185"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Utility class to handle the Bluetooth Service Classes defined in the OOB data of the Secure Simple Pairing Record. </p>
<p>The service class UUIDs are defined as per the Bluetooth specificiation: <a href="https://www.bluetooth.org/en-us/specification/assigned-numbers/service-discovery">https://www.bluetooth.org/en-us/specification/assigned-numbers/service-discovery</a> The values can either be defined as 16 / 32 / 128 bit values. Most common are 16 bit values, as these are currently enough to cover all standardized Bluetooth use cases. It is possible to create a higher-bit value from a lower bit value, e.g. to create a 128 bit value from a 128 bit value. From the Bluetooth Specification 4.1 [Vol 3], page 228, section 2.5.1 128_bit_value = 16_bit_value * 2^96 + Bluetooth_Base_UUID 128_bit_value = 32_bit_value * 2^96 + Bluetooth_Base_UUID A 16-bit UUID may be converted to 32-bit UUID format by zero-extending the 16-bit value to 32-bits. An equivalent method is to add the 16-bit UUID value to a zero-valued 32-bit UUID. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a1c1a2d97c2cfd78a91346551f76662e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c1a2d97c2cfd78a91346551f76662e9">&#9670;&nbsp;</a></span>ServiceClassTypes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.ServiceClassTypes</a> : ushort</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Contains a list of currently valid Bluetooth service classes according to the specification. </p>
<p>The enum defines the byte values that can be directly used for the service classes. For the complete list, see: <a href="https://www.bluetooth.org/en-us/specification/assigned-numbers/service-discovery">https://www.bluetooth.org/en-us/specification/assigned-numbers/service-discovery</a> </p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5b2cbef2100481fb288c0a3f186d57e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b2cbef2100481fb288c0a3f186d57e8">&#9670;&nbsp;</a></span>BtServiceClasses() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.BtServiceClasses </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>scType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte []&#160;</td>
          <td class="paramname"><em>scData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new instance of the Bluetooth Service Class and parse the supplied service class type (defines the UUID lengths) and data (contains the actual service class UUIDs). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scType</td><td>Specifies the service class type, which has to be defined in the OobDataTypes enum and defines the number of bits used for each service class UUID (16 / 32 / 128 bits)</td></tr>
    <tr><td class="paramname">scData</td><td>Byte array continaing one or more service class UUIDs, each in the bit length specified by the scType parameter.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aae067c4f9715d8383f64e2feb6cd41bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae067c4f9715d8383f64e2feb6cd41bf">&#9670;&nbsp;</a></span>BtServiceClasses() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.BtServiceClasses </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create an empty instance of the Bluetooth Service Class helper. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a724ebd192f9f66cae75d0c9265ea6680"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a724ebd192f9f66cae75d0c9265ea6680">&#9670;&nbsp;</a></span>AddServiceClassType()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.AddServiceClassType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a>&#160;</td>
          <td class="paramname"><em>newSc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a new service class to the list, specified as an enum value instead of a raw byte array. The method will take care of using the correct bit length to store the UUID, according to the setting in use for this instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newSc</td><td>New service class type to add.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3814afcca395852a0873955732e6e074"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3814afcca395852a0873955732e6e074">&#9670;&nbsp;</a></span>BitsPerServiceClass()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.BitsPerServiceClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>How many bit are used for each service class according to the current DataType setting in this instance. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of bits used for each service class - 16, 32 or 128.</dd></dl>

</div>
</div>
<a id="a6fa8b67d794615611e2f6da409ac9a51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fa8b67d794615611e2f6da409ac9a51">&#9670;&nbsp;</a></span>BytesPerServiceClass()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.BytesPerServiceClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>How many bytes are used for each service class according to the current DataType setting in this instance. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes used for each service class - 2, 4 or 16.</dd></dl>

</div>
</div>
<a id="a846057af5294fbdc8f066c0e3b4ba29f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a846057af5294fbdc8f066c0e3b4ba29f">&#9670;&nbsp;</a></span>ConvertServiceClassToType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a> NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.ConvertServiceClassToType </td>
          <td>(</td>
          <td class="paramtype">byte []&#160;</td>
          <td class="paramname"><em>scBytes</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert the specified service class byte array to the enum type for more convenient use in your app. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scBytes</td><td>Byte array that contains the service class. Has to have a length of 2, 4 or 16 bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The service class byte array converted the the enum value definition.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_exception.html" title="Exception occured when parsing or assembling NDEF messages, records and their respective payloads...">NdefException</a></td><td>Thrown if the supplied byte array does not have a valid length.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac6268639f959642e34dcefc322950741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6268639f959642e34dcefc322950741">&#9670;&nbsp;</a></span>ToByteArray()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">byte [] NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.ToByteArray </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert the properties currently stored in this class instance to a byte array, which can then be used to embed this information into OOB data payload of the parent Bluetooth Secure Simple Pairing record. </p>
<dl class="section return"><dt>Returns</dt><dd>The service class list converted to a byte array. The actual size of the byte array depends on the number of service classes set, as well as the number of bits used for each service class.</dd></dl>

</div>
</div>
<a id="a89b2092060c50491ac537e453f2017b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89b2092060c50491ac537e453f2017b8">&#9670;&nbsp;</a></span>UuidAs128BitString()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static string NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.UuidAs128BitString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a>&#160;</td>
          <td class="paramname"><em>serviceClassType</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Format the specified service class type enum value as a string that represents the 128 bit format conversion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">serviceClassType</td><td>The service class type to represent as a string.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Service class type converted to a string that contains the 128 bit service class UUID.</dd></dl>

</div>
</div>
<a id="a6ec6e3d988ce4bd83018da4673e22197"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ec6e3d988ce4bd83018da4673e22197">&#9670;&nbsp;</a></span>UuidFrom128String()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a> NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.UuidFrom128String </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>uuid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Convert the specified service class string to a service class type enum value. </p>
<p>Only works for UUIDs that are based on the Bluetooth standard base UUID where only the first 16 / 32 bit are customized. The string needs to correspond to the schema: "xxxx-0000-1000-8000-00805f9b34fb", where xxxx is the 32-bit value used for the service class.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">uuid</td><td>String-based UUID to parse</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The converted service class type.</dd></dl>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a68ca21ddfb0942a4e45c72db2e5c3185"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68ca21ddfb0942a4e45c72db2e5c3185">&#9670;&nbsp;</a></span>DataType</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record.html#a7afbb8c5f585c46e5e54560c86b63aca">OobDataTypes</a> NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.DataType</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Defines the data structure of the service classes (complete / incomplete, 16, 32 or 128 bit per service class definition) </p>
<p>If you change this value, all the currently stored service classes will be automatically recreated based on the new bit length.</p>

</div>
</div>
<a id="a9a12f13807a5bca52b56a88e55609842"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a12f13807a5bca52b56a88e55609842">&#9670;&nbsp;</a></span>ServiceClasses</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">List&lt;byte[]&gt; NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.ServiceClasses</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Contains the list of raw byte values specifying the individual service classes assigned. The number of bits for each contained byte array corresponds to the service list type. </p>

</div>
</div>
<a id="a94a7ecbd345550b88db0562d504717e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94a7ecbd345550b88db0562d504717e6">&#9670;&nbsp;</a></span>ServiceClassesAsTypes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">List&lt;<a class="el" href="class_ndef_library_1_1_ndef_1_1_ndef_bt_secure_simple_pairing_record_1_1_bt_service_classes.html#a1c1a2d97c2cfd78a91346551f76662e9">ServiceClassTypes</a>&gt; NdefLibrary.Ndef.NdefBtSecureSimplePairingRecord.BtServiceClasses.ServiceClassesAsTypes</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the currently set service class values as a list of enum values for easier use within your own application. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>NdefLibrary/Ndef/NdefBtSecureSimplePairingRecord.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 16 2017 15:07:45 for NFC / NDEF Library for Proximity APIs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
